package process

import (
	"encoding/json"
	"fmt"
	"go_example/src/chatroom/common/message"
)

func OutputExitMes(mes *message.Message)  {
	//反序列化mes.Data
	var smsMes message.SmsExitMes
	err := json.Unmarshal([]byte(mes.Data), &smsMes)
	if err != nil {
		fmt.Println("OutputUserIdMes() &smsMes json.Unmarshal err=", err)
		return
	}
	//将退出登录的用户id,从客户端的map中移除
	userId := smsMes.ExitId
	delete(onlineUsers, userId)
}

func OutputUserIdMes(mes *message.Message)  {
	//反序列化mes.Data
	var smsMes message.SmsUserIdMes
	err := json.Unmarshal([]byte(mes.Data), &smsMes)
	if err != nil {
		fmt.Println("OutputUserIdMes() &smsMes json.Unmarshal err=", err)
		return
	}
	//显示内容
	info := fmt.Sprintf("用户ID：%d 对你说：%s\n",
		smsMes.UserId, smsMes.Context )
	fmt.Println(info)
}

func OutputGroupMes(mes *message.Message)  {
	//反序列化mes.Data
	var smsMes message.SmsGroupMes

	err := json.Unmarshal([]byte(mes.Data), &smsMes)
	if err != nil {
		fmt.Println("outputGroupMes() &smsMes json.Unmarshal err=", err)
		return
	}
	//显示内容
	info := fmt.Sprintf("用户ID：\t%d 对大家说：\t%s",
		smsMes.UserId, smsMes.Context )
	fmt.Println(info)

}